Tema 03: Control de flujo (Enunciados)

Nota: Estos ejercicios son optativos para hacer al final de la unidad y están pensados para apoyar tu aprendizaje.

1) Realiza un programa que lea dos números por teclado y permita elegir entre 3 opciones en un menú:

  • Mostrar una suma de los dos números
  • Mostrar una resta de los dos números (el primero menos el segundo)
  • Mostrar una multiplicación de los dos números
  • En caso de no introducir una opción válida, el programa informará de que no es correcta.

In [12]:
# Completa el ejercicio aquí
print( "OPERACIONES PARA DOS NÚMEROS INTRODUCIDOS.\n")

numero1 = float( input( "Introduce el primer número: "))
numero2 = float( input( "Introduce el segundo número: "))

while True:
    print("\nElige una opción:")
    print( "1.- Sumar dos números")
    print( "2.- Restar dos números")
    print( "3.- Multiplicar dos números")
    print( "4.- Salir")
    opcion = input( "Elige una opción (1-4): ")
    
    if opcion == '1':
        print( "La suma ", numero1, "+", numero2, "=", numero1+numero2)
    elif opcion == '2':
        print( "La resta ", numero1, "-", numero2, "=", numero1-numero2)
    elif opcion == '3':
        print( "La multiplicación ", numero1, "*", numero2, "=", numero1*numero2)
    elif opcion == '4':
        break
    else:
        print( "** Opción incorrecta **")


OPERACIONES PARA DOS NÚMEROS INTRODUCIDOS.

Introduce el primer número: 4
Introduce el segundo número: 78

Elige una opción
1.- Sumar dos números
2.- Restar dos números
3.- Multiplicar dos números
4.- Salir
Elige una opción (1-4): 7
Opción incorrecta

Elige una opción
1.- Sumar dos números
2.- Restar dos números
3.- Multiplicar dos números
4.- Salir
Elige una opción (1-4): 7
Opción incorrecta

Elige una opción
1.- Sumar dos números
2.- Restar dos números
3.- Multiplicar dos números
4.- Salir
Elige una opción (1-4): 6
Opción incorrecta

Elige una opción
1.- Sumar dos números
2.- Restar dos números
3.- Multiplicar dos números
4.- Salir
Elige una opción (1-4): 3
La multiplicación  4.0 * 78.0 = 312.0

Elige una opción
1.- Sumar dos números
2.- Restar dos números
3.- Multiplicar dos números
4.- Salir
Elige una opción (1-4): 2
La resta  4.0 - 78.0 = -74.0

Elige una opción
1.- Sumar dos números
2.- Restar dos números
3.- Multiplicar dos números
4.- Salir
Elige una opción (1-4): 1
La suma  4.0 + 78.0 = 82.0

Elige una opción
1.- Sumar dos números
2.- Restar dos números
3.- Multiplicar dos números
4.- Salir
Elige una opción (1-4): 4

2) Realiza un programa que lea un número impar por teclado. Si el usuario no introduce un número impar, debe repetise el proceso hasta que lo introduzca correctamente.


In [ ]:
# Completa el ejercicio aquí
print( "COMPROBACIÓN DE PARIDAD DE UN NÚMERO.")

while True:
    numero = int( input( "Introduce un número par: "))
    if numero % 2 == 0:
        break
    print( "Error: número impar.")

print( "Número par introducido:", numero)

3) Realiza un programa que sume todos los números enteros pares desde el 0 hasta el 100:

Sugerencia: Puedes utilizar la funciones sum() y range() para hacerlo más fácil. El tercer parámetro en la función range(inicio, fin, salto) indica un salto de números, pruébalo.


In [13]:
# Completa el ejercicio aquí
print( "SUMA DE TODOS LOS NÚMEROS PARES ENTRE DOS NÚMEROS.")

salir = False
while not salir:
    num1 = int( input( "Introduce el primer número: "))
    num2 = int( input( "Introduce el segundo número: "))
    maximo, minimo = max( num1, num2), min( num1, num2)
    suma = sum( range( minimo + minimo%2, maximo+1, 2))
    print( "La suma de los pares es:", suma)
    
    salir = input( "¿Deseas salir? (S/N):") == 'S'


SUMA DE TODOS LOS NÚMEROS PARES ENTRE DOS NÚMEROS.
Introduce el primer número: 2
Introduce el segundo número: 6
La suma de los pares es: 12
¿Deseas salir? (S/N):n
Introduce el primer número: 3
Introduce el segundo número: 5
La suma de los pares es: 4
¿Deseas salir? (S/N):n
Introduce el primer número: 9
Introduce el segundo número: 5
La suma de los pares es: 14
¿Deseas salir? (S/N):s
Introduce el primer número: 4
Introduce el segundo número: 0
La suma de los pares es: 6
¿Deseas salir? (S/N):S

4) Realiza un programa que pida al usuario cuantos números quiere introducir. Luego lee todos los números y realiza una media aritmética:


In [14]:
# Completa el ejercicio aquí
print( "MEDIA ARITMÉTICA DE UNA SERIE DE NÚMEROS.")

while True:
    nums = int( input( "¿Cuántos números vas a introducir?: "))
    suma = 0
    print( "Introduce los números:")
    for i in range(nums):
        suma += int( input( "[" + str(i+1) + "] --> "))
    media = suma / nums
    print( "La suma es", suma, " y la media aritmética es", media)
    
    salir = input( "¿Deseas salir? (S/N):")
    if salir == 'S' or salir == 's':
        break


MEDIA ARITMÉTICA DE UNA SERIE DE NÚMEROS.
¿Cuántos números vas a introducir?: 3
Introduce los números:
[1] --> 9
[2] --> 5
[3] --> 4
La suma es 18  y la media aritmética es 6.0
¿Deseas salir? (S/N):n
¿Cuántos números vas a introducir?: 7
Introduce los números:
[1] --> 9
[2] --> 6
[3] --> 5
[4] --> 3
[5] --> 3
[6] --> 57
[7] --> 8
La suma es 91  y la media aritmética es 13.0
¿Deseas salir? (S/N):s

5) Realiza un programa que pida al usuario un número entero del 0 al 9, y que mientras el número no sea correcto se repita el proceso. Luego debe comprobar si el número se encuentra en la lista de números y notificarlo:

Consejo: La sintaxis "valor in lista" permite comprobar fácilmente si un valor se encuentra en una lista (devuelve True o False)


In [16]:
# Completa el ejercicio aquí
print( "COMPROBAR SI UN NÚMERO SE ENCUENTRA DENTRO DE UNA LISTA.")
    
numeros = [1, 3, 6, 9]
while True:
    num = int( input( "Introduce un número (0-9): "))
    if not num in range(10):
        print( "Error: el número debe estar en el rango 0-9.")
        continue
    if num in numeros:
        break
    print( "El número no está en la lista")

print( "El número", num, "está en la lista", numeros)


COMPROBAR SI UN NÚMERO SE ENCUENTRA DENTRO DE UNA LISTA.
Introduce un número (0-9): 44
Error: el número debe estar en el rango 0-9.
Introduce un número (0-9): 7
El número no está en la lista
Introduce un número (0-9): 5
El número no está en la lista
Introduce un número (0-9): 4
El número no está en la lista
Introduce un número (0-9): 3
El número 3 está en la lista [1, 3, 6, 9]

6) Utilizando la función range() y la conversión a listas genera las siguientes listas dinámicamente:

  • Todos los números del 0 al 10 [0, 1, 2, ..., 10]
  • Todos los números del -10 al 0 [-10, -9, -8, ..., 0]
  • Todos los números pares del 0 al 20 [0, 2, 4, ..., 20]
  • Todos los números impares entre -20 y 0 [-19, -17, -15, ..., -1]
  • Todos los números múltiples de 5 del 0 al 50 [0, 5, 10, ..., 50]

Pista: Utiliza el tercer parámetro de la función range(inicio, fin, salto).


In [9]:
# Completa el ejercicio
print( list( range( 11)))
print( list( range( -10, 1)))
print( list( range( 0, 21, 2)))
print( list( range( -19, 0, 2)))
print( list( range( 0, 51, 5)))


[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
[-19, -17, -15, -13, -11, -9, -7, -5, -3, -1]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]

7) Dadas dos listas, debes generar una tercera con todos los elementos que se repitan en ellas, pero no debe repetise ningún elemento en la nueva lista:


In [17]:
# Completa el ejercicio aquí
print( "GENERAR NUEVA LISTA A PARTIR DE OTRAS DOS CON LOS ELEMENTOS REPETIDOS")

lista1 = "Hola mundo"
lista2 = "Mundo bueno"
lista3 = []

for i in lista1:
    if i in lista2 and not i in lista3:
        lista3.append( i)
        
print( "La lista resultante es:", lista3)


GENERAR NUEVA LISTA A PARTIR DE OTRAS DOS CON LOS ELEMENTOS REPETIDOS
La lista resultante es: ['o', ' ', 'u', 'n', 'd']

In [ ]: